package com.shujia.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;

/**
 * 注解
 * <p>
 * spring 在启动的过程中会扫描包下面所有的类，
 * 如果类上面有@RestController，spring会通过反射创建这个类的对象
 * <p>
 * 如果方法上面有@GetMapping注解，spring会将这个方法绑定到指定的路径上面
 * <p>
 * 通过地址访问 http://localhost:8080/test?name=zhangsan
 */
@RestController
public class TestController {

    public TestController() {
        System.out.println("TestController被实例化了");
    }

    @GetMapping("/test")
    public String test(String name) {

        System.out.println("test方法被调用了");

        System.out.println(name);

        return "helloworld";
    }

    /**
     * 返回值会被自动转换成json
     *
     * @return
     */
    @GetMapping("/data")
    public HashMap<String, String> data() {

        HashMap<String, String> hashMap = new HashMap<>();

        hashMap.put("spring", "java");
        hashMap.put("zhangsan", "lisi");

        //spring: 会自动将(hashmap,arraylist,自定义的类)转换成json的字符串，返回给前端
        return hashMap;
    }
}
